package com.java3_1;


//单例模式 -- 懒汉单例模式  --存在线程不安全问题
public class Demo1 {
    private String name;
    private int age;

    private Demo1(String name, int age) {
        name = this.name;
        age = this.age;
    }


    //使用synchronized代码块

    //方法前加上synchronized
//    private static Demo1 demo1 = null;
//
//    public static synchronized Demo1 getDemo1() {  //默认为Demo1.class
//        if (demo1 == null) {
//            demo1 = new Demo1("zhangsan", 24);
//        }
//        return demo1;
//    }
//    private static Demo1 demo1 = null;
//
//    public static Demo1 getDemo1() {
//        synchronized (Demo1.class) {
//            if (demo1 == null) {
//                demo1 = new Demo1("zhangsan", 24);
//            }
//            return demo1;
//        }
//    }


//    private static Demo1 demo1 = null;
//
//    public static Demo1 getDemo1() {
//        if (demo1 == null) {
//            synchronized (Demo1.class) {
//                if (demo1 == null) {
//                    demo1 = new Demo1("zhangsan", 24);
//                }
//            }
//        }
//        return demo1;
//    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
